package cn.sccdlg.fzmybatis.mybatis2sx.sqlsession.defaults;

import cn.sccdlg.fzmybatis.mybatis2sx.cfg.Configuration;
import cn.sccdlg.fzmybatis.mybatis2sx.sqlsession.SqlSession;
import cn.sccdlg.fzmybatis.mybatis2sx.sqlsession.SqlSessionFactory;

/**
 * @author RaoShuang
 * @emil 991207823@qq.com
 * @date 2020/10/11 23:14
 * SqlSessionFactory接口的实现类
 */
public class DefaultSqlSessionFactory implements SqlSessionFactory {
    /**
     * 定义配置属性
     */
    private Configuration cfg;

    /**
     * 有参构造器
     * @param cfg 配置属性对象
     */
    public DefaultSqlSessionFactory(Configuration cfg){
        this.cfg = cfg;
    }

    /**
     * 用于创建一个新的操作数据库对象
     * @return
     */
    @Override
    public SqlSession openSession() {
        return new DefaultSqlSession(cfg);
    }
}
